package org.example.pojo.Response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 判题结果实体类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class JudgeResponse {
    // 状态码
    private int status_code;
    // 编程语言
    private String lang;
    // 运行是否成功
    private boolean run_success;
    // 运行时间状态
    private Double status_runtime;
    // 内存占用
    private Double memory;
    // 显示运行时间
    private String display_runtime;
    // 问题ID
    private String question_id;
    // 执行时间
    private int elapsed_time;
    // 比较结果
    private String compare_result;
    // 代码输出
    private String code_output;
    // 标准输出
    private String std_output;
    // 最后一个测试用例
    private String last_testcase;
    // 期望输出
    private String expected_output;
    // 任务完成时间
    private long task_finish_time;
    // 任务名称
    private String task_name;
    // 是否完成
    private boolean finished;
    // 状态消息
    private String status_msg;
    // 状态
    private String state;
    // 是否快速提交
    private boolean fast_submit;
    // 总正确数
    private int total_correct;
    // 总测试用例数
    private int total_testcases;
    // 提交ID
    private String submission_id;
    // 运行时间百分比
    private double runtime_percentile;
    // 内存状态
    private String status_memory;
    // 内存百分比
    private double memory_percentile;
    // 显示的编程语言
    private String pretty_lang;

    public int getStatus_code() {
        return status_code;
    }

    public void setStatus_code(int status_code) {
        this.status_code = status_code;
    }

    public String getLang() {
        return lang;
    }

    public void setLang(String lang) {
        this.lang = lang;
    }

    public boolean isRun_success() {
        return run_success;
    }

    public void setRun_success(boolean run_success) {
        this.run_success = run_success;
    }

    public Double getStatus_runtime() {
        return status_runtime;
    }

    public void setStatus_runtime(Double status_runtime) {
        this.status_runtime = status_runtime;
    }

    public Double getMemory() {
        return memory;
    }

    public void setMemory(Double memory) {
        this.memory = memory;
    }

    public String getDisplay_runtime() {
        return display_runtime;
    }

    public void setDisplay_runtime(String display_runtime) {
        this.display_runtime = display_runtime;
    }

    public String getQuestion_id() {
        return question_id;
    }

    public void setQuestion_id(String question_id) {
        this.question_id = question_id;
    }

    public int getElapsed_time() {
        return elapsed_time;
    }

    public void setElapsed_time(int elapsed_time) {
        this.elapsed_time = elapsed_time;
    }

    public String getCompare_result() {
        return compare_result;
    }

    public void setCompare_result(String compare_result) {
        this.compare_result = compare_result;
    }

    public String getCode_output() {
        return code_output;
    }

    public void setCode_output(String code_output) {
        this.code_output = code_output;
    }

    public String getStd_output() {
        return std_output;
    }

    public void setStd_output(String std_output) {
        this.std_output = std_output;
    }

    public String getLast_testcase() {
        return last_testcase;
    }

    public void setLast_testcase(String last_testcase) {
        this.last_testcase = last_testcase;
    }

    public String getExpected_output() {
        return expected_output;
    }

    public void setExpected_output(String expected_output) {
        this.expected_output = expected_output;
    }

    public long getTask_finish_time() {
        return task_finish_time;
    }

    public void setTask_finish_time(long task_finish_time) {
        this.task_finish_time = task_finish_time;
    }

    public String getTask_name() {
        return task_name;
    }

    public void setTask_name(String task_name) {
        this.task_name = task_name;
    }

    public boolean isFinished() {
        return finished;
    }

    public void setFinished(boolean finished) {
        this.finished = finished;
    }

    public String getStatus_msg() {
        return status_msg;
    }

    public void setStatus_msg(String status_msg) {
        this.status_msg = status_msg;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public boolean isFast_submit() {
        return fast_submit;
    }

    public void setFast_submit(boolean fast_submit) {
        this.fast_submit = fast_submit;
    }

    public int getTotal_correct() {
        return total_correct;
    }

    public void setTotal_correct(int total_correct) {
        this.total_correct = total_correct;
    }

    public int getTotal_testcases() {
        return total_testcases;
    }

    public void setTotal_testcases(int total_testcases) {
        this.total_testcases = total_testcases;
    }

    public String getSubmission_id() {
        return submission_id;
    }

    public void setSubmission_id(String submission_id) {
        this.submission_id = submission_id;
    }

    public double getRuntime_percentile() {
        return runtime_percentile;
    }

    public void setRuntime_percentile(double runtime_percentile) {
        this.runtime_percentile = runtime_percentile;
    }

    public String getStatus_memory() {
        return status_memory;
    }

    public void setStatus_memory(String status_memory) {
        this.status_memory = status_memory;
    }

    public double getMemory_percentile() {
        return memory_percentile;
    }

    public void setMemory_percentile(double memory_percentile) {
        this.memory_percentile = memory_percentile;
    }

    public String getPretty_lang() {
        return pretty_lang;
    }

    public void setPretty_lang(String pretty_lang) {
        this.pretty_lang = pretty_lang;
    }
}

